package presentacion;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.table.DefaultTableModel;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.JScrollPane;
import javax.swing.JComboBox;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JToggleButton;
import javax.swing.JCheckBox;
import javax.swing.JButton;

import negocio.TransferPublicidad;

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.Calendar;

public class GUINuevaEstadistica extends JDialog {

	private JPanel contentPane;
	private JTextField tbTitulo;
	private JTextField tbDia;
	private JTextField tbMes;
	private JTextField tbAnho;
	private JLabel lblOperacion;
	private JLabel label;
	private JLabel label_1;
	private TransferPublicidad _datos;
	private DefaultTableModel _modeloTabla;

	/**
	 * Create the frame.
	 */
	public GUINuevaEstadistica( DefaultTableModel model) {
		setResizable(false);
		setModal(true);
		setRootPaneCheckingEnabled(false);
		
		_modeloTabla = model;
		
		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		setBounds(100, 100, 347, 163);
		contentPane = new JPanel();
		contentPane.setAutoscrolls(true);
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		JLabel lblTtulo = new JLabel("T\u00EDtulo");
		lblTtulo.setBounds(10, 11, 27, 14);
		contentPane.add(lblTtulo);
		
		tbTitulo = new JTextField();
		tbTitulo.setBounds(71, 8, 250, 20);
		contentPane.add(tbTitulo);
		tbTitulo.setColumns(10);
		
		JLabel lblFecha = new JLabel("Fecha");
		lblFecha.setBounds(10, 39, 35, 14);
		contentPane.add(lblFecha);
		
		tbDia = new JTextField();
		tbDia.setEnabled(false);
		tbDia.setHorizontalAlignment(SwingConstants.CENTER);
		tbDia.setBounds(71, 36, 35, 20);
		contentPane.add(tbDia);
		tbDia.setColumns(10);
		
		tbMes = new JTextField();
		tbMes.setEnabled(false);
		tbMes.setHorizontalAlignment(SwingConstants.CENTER);
		tbMes.setBounds(116, 36, 35, 20);
		contentPane.add(tbMes);
		tbMes.setColumns(10);
		
		tbAnho = new JTextField();
		tbAnho.setEnabled(false);
		tbAnho.setHorizontalAlignment(SwingConstants.CENTER);
		tbAnho.setBounds(161, 36, 61, 20);
		contentPane.add(tbAnho);
		tbAnho.setColumns(10);
		
		lblOperacion = new JLabel("Operacion");
		lblOperacion.setBounds(10, 70, 61, 14);
		contentPane.add(lblOperacion);
		
		final JComboBox cbOperacion = new JComboBox();
		//medidas estandas = media, mediana, varianza y desviacion tipica
		cbOperacion.setModel(new DefaultComboBoxModel(new String[] {"Medidas estandar", "Moda", "Porcentaje por clase"}));
		cbOperacion.setBounds(71, 67, 250, 20);
		contentPane.add(cbOperacion);
		
		/************************ BOTON ACEPTAR ****************************/
		JButton bAceptar = new JButton("Aceptar");
		bAceptar.addMouseListener(new MouseAdapter(){
			/*
			 * Meto los datos en el transfer, invoco el evento de nueva estadistica
			 * y si la creacion de la estadistica es correcta lo meto en la tabla del 
			 * JFrame principa, si no muestro un mensaje de error.
			 * */
			public void mouseClicked( MouseEvent arg0 ) {
				
				String fecha = tbDia.getText() + "-" + tbMes.getText() + "-" + tbAnho.getText();
				_datos = new TransferPublicidad();
				_datos.setTitulo(tbTitulo.getText());
				_datos.setOperacion(cbOperacion.getSelectedItem().toString());
				_datos.setOpDaoCorrecta(false);
				_datos.setFecha(fecha);
				SingletonControlador.getInstancia().evento(Evento.PUBLI_NUEVA_ESTADISTICA, _datos);
				
				if ( _datos.getOpDaoCorrecta() )
					_modeloTabla.addRow(new Object[] {fecha, tbTitulo.getText()});
				else 
					JOptionPane.showMessageDialog(new JTextArea(), "Error al crear la estadistica");
				
				dispose();
			}
		});
		bAceptar.setBounds(240, 98, 81, 26);
		contentPane.add(bAceptar);
		
		JButton bCancelar = new JButton("Cancelar");
		bCancelar.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent arg0) {
				dispose();
			}
		});
		bCancelar.setBounds(153, 98, 81, 26);
		contentPane.add(bCancelar);
		
		label = new JLabel("-");
		label.setBounds(107, 39, 12, 14);
		contentPane.add(label);
		
		label_1 = new JLabel("-");
		label_1.setBounds(153, 39, 12, 14);
		contentPane.add(label_1);
	}
	
	public void setDia( String dia ) {
		tbDia.setText(dia);
	}
	
	public void setMes( String mes ) {
		tbMes.setText(mes);
	}
	
	public void setAnho( String anho ) {
		tbAnho.setText(anho);
	}
}
